
# 导入BaseNN库、numpy库，numpy库用于数据处理
from BaseNN import nn
import numpy as np
import os
model = nn('cls')# 声明模型
model.set_seed(29)#设置随机种子，确保结果的可复现性
train_path = 'csv/train.csv'
model.load_tab_data(train_path, batch_size=120)
model.add('linear', size=(42, 120), activation='relu') #增加全连接层，输入维度:42,输出维度：120。使用relu激活函数。42为对应的数据量
model.add('linear', size=(120, 600), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(600, 2400), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(2400, 1200), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(1200, 600), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(600, 300), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(300, 150), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(150, 50), activation='relu') #第二层入点要与第一层的出点对应
model.add('linear', size=(50, 3), activation='softmax')#出点为分类标签数，用softmax收敛
model.save_fold = 'checkpoints/basenn'
model.optimizer = 'Adam'#优化函数#'SGD' , 'Adam' , 'Adagrad' , 'ASGD' 内置不同优化器
directory_path = 'checkpoints/20240608'
extension = '.pth'

for i in range(2):
    model.train(lr=0.001, epochs=200)
    new_file_path = os.path.join(directory_path, str(i) + extension)
    #os.rename('checkpoints/basenn/basenn.pth', new_file_path)